class Person():

    # 构造方法  self相当于this
    def __init__(self, id, name):
        # 赋值即定义
        self.id = id
        self.name = name

    def print(self):
        print(self.id, self.name)


class Student(Person):

    def __init__(self, id, name, clazz):
        # 如果父类有有参构造函数，在子类构造函数的第一行必须显示调用父类构造函数
        super().__init__(id, name)

        # 在子类增加新的属性
        self.clazz = clazz

    # 重写父类方法
    def print(self):
        print(self.id, self.name, self.clazz)


s1 = Person("001", "张三")
print(s1.id)
print(s1.name)
# 修改成员变量的值
s1.name = "李四"

s1.print()

s2 = Student("002", "王五", "文科一班")
s2.print()
